package br.gov.mi.corporativo.dominio.boundary.rhmi.registrotelefonico;

import java.util.List;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;

import br.gov.mi.corporativo.dominio.entidade.rhmi.RegistroTelefonico;

@Path("registroTelefonico")
public class RegistroTelefonicoRestAdapter extends SpringBeanAutowiringSupport  {
	
	@Autowired
	private RegistroTelefonicoEndPoint service;
	
	
	@GET
	@Produces({MediaType.APPLICATION_JSON})
	public List<RegistroTelefonico> recuperarTodos(){
		return service.recuperarTodos();
	}
	
	@GET
	@Path("/id/{id}")
	@Produces({MediaType.APPLICATION_JSON})
	public RegistroTelefonico recuperarPorId(@PathParam("id")Long id){
		return service.recuperarPorId(id);
	}
	
	
	@GET
	@Path("/documento/{documento}")
	@Produces({MediaType.APPLICATION_JSON})
	public  List<RegistroTelefonico> recuperarPorDocumento(@PathParam("documento")Long documento){
		return service.recuperarPorDocumento(documento);
	}
	
	@GET
	@Path("/nomeDestino/{nomeDestino}")
	@Produces({MediaType.APPLICATION_JSON})
	public RegistroTelefonico recuperarPorNomeDestino(@PathParam("nomeDestino")String nomeDestino){
		return service.recuperarPorNomeDestino(nomeDestino);
	}
	
	@GET
	@Path("/nomeSolicitante/{nomeSolicitante}")
	@Produces({MediaType.APPLICATION_JSON})
	public RegistroTelefonico recuperarPorNomeSolicitante(@PathParam("nomeSolicitante")String nomeSolicitante){
		return service.recuperarPorNomeSolicitante(nomeSolicitante);
	}
	
	@GET
	@Path("/unidadeEstrutura/{unidadeEstrutura}")
	@Produces({MediaType.APPLICATION_JSON})
	public  List<RegistroTelefonico> recuperarPorUnidadeEstrutura(@PathParam("unidadeEstrutura")Long unidadeEstrutura){
		return service.recuperarPorUnidadeEstrutura(unidadeEstrutura);
	}
	
	@GET
	@Path("/tipo/{tipo}")
	@Produces({MediaType.APPLICATION_JSON})
	public  List<RegistroTelefonico> recuperarPorTipo(@PathParam("tipo")Boolean tipo){
		return service.recuperarPorTipo(tipo);
	}
	
}
